Termination w.r.t. Q of the following Term Rewriting System could not be shown:
Q restricted rewrite system:
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
Q is empty.
↳ QTRS
↳ Non-Overlap Check
Q restricted rewrite system:
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
Q is empty.
The TRS is non-overlapping. Hence, we can switch to innermost.
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
Q restricted rewrite system:
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
Q DP problem:
The TRS P consists of the following rules:
BUBBLE1(.2(x, .2(y, z))) -> BUBBLE1(.2(x, z))
BSORT1(.2(x, y)) -> BSORT1(butlast1(bubble1(.2(x, y))))
BSORT1(.2(x, y)) -> LAST1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
LAST1(.2(x, .2(y, z))) -> LAST1(.2(y, z))
BUTLAST1(.2(x, .2(y, z))) -> BUTLAST1(.2(y, z))
BSORT1(.2(x, y)) -> BUTLAST1(bubble1(.2(x, y)))
BUBBLE1(.2(x, .2(y, z))) -> BUBBLE1(.2(y, z))
BSORT1(.2(x, y)) -> BUBBLE1(.2(x, y))
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
BUBBLE1(.2(x, .2(y, z))) -> BUBBLE1(.2(x, z))
BSORT1(.2(x, y)) -> BSORT1(butlast1(bubble1(.2(x, y))))
BSORT1(.2(x, y)) -> LAST1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
LAST1(.2(x, .2(y, z))) -> LAST1(.2(y, z))
BUTLAST1(.2(x, .2(y, z))) -> BUTLAST1(.2(y, z))
BSORT1(.2(x, y)) -> BUTLAST1(bubble1(.2(x, y)))
BUBBLE1(.2(x, .2(y, z))) -> BUBBLE1(.2(y, z))
BSORT1(.2(x, y)) -> BUBBLE1(.2(x, y))
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph contains 4 SCCs with 3 less nodes.
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPAfsSolverProof
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
BUTLAST1(.2(x, .2(y, z))) -> BUTLAST1(.2(y, z))
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.
By using an argument filtering and a montonic ordering, at least one Dependency Pair of this SCC can be strictly oriented.
BUTLAST1(.2(x, .2(y, z))) -> BUTLAST1(.2(y, z))
Used argument filtering: BUTLAST1(x1) = x1
.2(x1, x2) = .1(x2)
Used ordering: Quasi Precedence:
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPAfsSolverProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
P is empty.
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPAfsSolverProof
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
LAST1(.2(x, .2(y, z))) -> LAST1(.2(y, z))
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.
By using an argument filtering and a montonic ordering, at least one Dependency Pair of this SCC can be strictly oriented.
LAST1(.2(x, .2(y, z))) -> LAST1(.2(y, z))
Used argument filtering: LAST1(x1) = x1
.2(x1, x2) = .1(x2)
Used ordering: Quasi Precedence:
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPAfsSolverProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
Q DP problem:
P is empty.
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPAfsSolverProof
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
BUBBLE1(.2(x, .2(y, z))) -> BUBBLE1(.2(x, z))
BUBBLE1(.2(x, .2(y, z))) -> BUBBLE1(.2(y, z))
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.
By using an argument filtering and a montonic ordering, at least one Dependency Pair of this SCC can be strictly oriented.
BUBBLE1(.2(x, .2(y, z))) -> BUBBLE1(.2(x, z))
BUBBLE1(.2(x, .2(y, z))) -> BUBBLE1(.2(y, z))
Used argument filtering: BUBBLE1(x1) = x1
.2(x1, x2) = .1(x2)
Used ordering: Quasi Precedence:
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPAfsSolverProof
↳ QDP
↳ PisEmptyProof
↳ QDP
Q DP problem:
P is empty.
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
BSORT1(.2(x, y)) -> BSORT1(butlast1(bubble1(.2(x, y))))
The TRS R consists of the following rules:
bsort1(nil) -> nil
bsort1(.2(x, y)) -> last1(.2(bubble1(.2(x, y)), bsort1(butlast1(bubble1(.2(x, y))))))
bubble1(nil) -> nil
bubble1(.2(x, nil)) -> .2(x, nil)
bubble1(.2(x, .2(y, z))) -> if3(<=2(x, y), .2(y, bubble1(.2(x, z))), .2(x, bubble1(.2(y, z))))
last1(nil) -> 0
last1(.2(x, nil)) -> x
last1(.2(x, .2(y, z))) -> last1(.2(y, z))
butlast1(nil) -> nil
butlast1(.2(x, nil)) -> nil
butlast1(.2(x, .2(y, z))) -> .2(x, butlast1(.2(y, z)))
The set Q consists of the following terms:
bsort1(nil)
bsort1(.2(x0, x1))
bubble1(nil)
bubble1(.2(x0, nil))
bubble1(.2(x0, .2(x1, x2)))
last1(nil)
last1(.2(x0, nil))
last1(.2(x0, .2(x1, x2)))
butlast1(nil)
butlast1(.2(x0, nil))
butlast1(.2(x0, .2(x1, x2)))
We have to consider all minimal (P,Q,R)-chains.